Skip to content

Resolve merge conflict with master#10595

Merged
kamilchodola merged 646 commits intofix/large-rpc-buffersfrom
pr-9411-resolve-conflict
Feb 27, 2026
Merged

Resolve merge conflict with master#10595
kamilchodola merged 646 commits intofix/large-rpc-buffersfrom
pr-9411-resolve-conflict

Conversation

@kamilchodola
Copy link
Copy Markdown
Contributor

Summary

  • Merges latest master into fix/large-rpc-buffers (PR Try using stream to avoid large buffers allocations in kestrel #9411) and resolves the conflict in Startup.cs
  • Master refactored the inline request processing block into ProcessJsonRpcRequestCoreAsync. The CountingStreamPipeWriter(ctx.Response.Body) change from this PR is now applied inside that extracted method instead of in the old inline location.

Test plan

  • Verify JSON-RPC responses work correctly with the stream-based writer
  • CI passes

AnkushinDaniil and others added 30 commits December 30, 2025 18:06
* calculator

* state reader

* masternode voting contract

* fix

* abi json

* working load test

* test

* test

* test getCandidates

* cleanup

* format

* remove var

* format

* review comments

* implement calculate rewards base flow and get signing txs

* implement rewards per signer and distribution calculations

* implement getCadidateOwner

* refactors and add comments to the code

* add block signer contract address to the configuration spec

* implement reward module tests

* implement hook for reward calculation in hotstuff pipeline

* refactor and format

* format

* fix xdc test

* wire IRewardClaculator in ConfigureContainer in XdcTestBlockchain

* address review comments and add unit test with precalculated xdc reward values

* add missing dependencies in Xdc module

* fix resolving contract addresses from spec

* fix error with WorldState after merge

* add comments for reward tests with link to original source

---------

Co-authored-by: ak88 <anders.holmbjerg@hotmail.com>
Co-authored-by: ak88 <anders@nethermind.io>
* add potential fix

* nit: improve config description
* Skip SST file size checks when MaxOpenFiles is specified

* Add config option, skip SST checks on MacOS if not configured otherwise

* Remove obvious comment
…ation (#9970)

* Update EvmPooledMemory.cs

* Update src/Nethermind/Nethermind.Evm/EvmPooledMemory.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update src/Nethermind/Nethermind.Evm/EvmPooledMemory.cs

* Update src/Nethermind/Nethermind.Evm/EvmPooledMemory.cs

---------

Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Should update child if parent has empty keccak as well

* Combine conditions
* Improve hash quality

* formatting

* Update src/Nethermind/Nethermind.Core/Extensions/SpanExtensions.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Keep HexConvert.ToUInt64 as it handles both base 10 and 16 automatically.
…10024)

* fix: ensure eth_getBlockByNumber enforces canonical block retrieval

* fix tests

* address comment

* apply suggestion
Co-authored-by: rubo <rubo@users.noreply.github.com>
* Drop eth66 and eth67 support

* Fix tests

* test

* bump versions

* Fix E2ESyncTests failures when isPostMerge=false - remove eth/69 from default capabilities (#10103)

* Initial plan

* Remove eth/69 from default capabilities - added dynamically by MergePlugin

Co-authored-by: benaadams <1142958+benaadams@users.noreply.github.com>

* Fix test expecting eth/69 as highest default protocol version

Co-authored-by: benaadams <1142958+benaadams@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: benaadams <1142958+benaadams@users.noreply.github.com>

* fix

---------

Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: benaadams <1142958+benaadams@users.noreply.github.com>
* Add Address recovery from PublicKey to KeccakCache

* Improve comments

* Feedback
* Update to UInt256 version 1.4.0

* Fix some div zero
* optimize eth_gasPrice using kth algorithm

* fix: review nethermind

---------

Co-authored-by: weixie.cui <weixie.cui@okg.com>
* Don't queue prunes

* Add delay

* Add Delay reasoning comment
* refactor: simplify Avx2 branches for UInt256 shuffles

* Update EvmStack.cs
* Ignore claude config in git

* Ignore claude config in git
@github-actions
Copy link
Copy Markdown
Contributor

EXPB Benchmark Comparison

Run: View workflow run

Scenario: nethermind-halfpath-superblocks-pr-9411-resolve-conflict-delay0s

Metric PR Master (cached) Delta PR vs Master
AVG (ms) 1528.176400 1512.850900 +1.01%
MEDIAN (ms) 1155.195000 1161.835000 -0.57%
P90 (ms) 2633.45 2601.96 +1.21%
P95 (ms) 2928.89 2818.91 +3.90%
P99 (ms) 4228.38 4168.85 +1.43%
MIN (ms) 760.73 756.13 +0.61%
MAX (ms) 4509.54 4600.79 -1.98%

@MarekM25
Copy link
Copy Markdown
Contributor

wtf 74k line PR?

… fix

Tests show CountingPipeWriter accumulates entire multi-MB responses in
pipe buffers (LOH allocation issue) while CountingStreamPipeWriter
flushes incrementally in small chunks. Includes correctness tests
verifying both paths produce byte-identical output.
@kamilchodola
Copy link
Copy Markdown
Contributor Author

wtf 74k line PR?

it is simply master merge and conflict fix but done as PR as i dont want to push directly onto Łukasz branch
Also added tests proving that it helps

Head-to-head tests measuring UnflushedBytes (peak internal buffer)
during serialization. PipeWriter grows to full response size while
StreamPipeWriter stays bounded at ~26 bytes via auto-flush.
@kamilchodola kamilchodola marked this pull request as ready for review February 27, 2026 15:30
@kamilchodola kamilchodola requested a review from a team February 27, 2026 15:30
@kamilchodola kamilchodola merged commit 2dca372 into fix/large-rpc-buffers Feb 27, 2026
71 of 73 checks passed
@kamilchodola kamilchodola deleted the pr-9411-resolve-conflict branch February 27, 2026 15:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.